Combining test case generation and runtime verification
نویسندگان
چکیده
Software testing is typically an ad-hoc process where human testers manually write test inputs and descriptions of expected test results, perhaps automating their execution in a regression suite. This process is cumbersome and costly. This paper reports results on a framework to further automate this process. The framework consists of combining automated test case generation based on systematically exploring the input domain of the program with runtime verification, where execution traces are monitored and verified against properties expressed in temporal logic. The input domain of the program is explored using a model checker extended with symbolic execution. Properties are formulated in an expressive temporal logic. A methodology is advocated that generates properties specific to each input instance rather than formulating properties uniformly true for all inputs. Capabilities for analyzis of concurrency errors are planned to be integrated with temporal logic monitoring. The paper describes an application of the technology to a planetary rover controller.
منابع مشابه
Static and Runtime Verification, Competitors or Friends? (Track Summary)
Over the last years, significant progress has been made both on static and runtime program verification techniques, focusing on increasing the quality of software. Within this track, we would like to investigate how we can leverage these techniques by combining them. Questions that will be addressed are for example: what can static verification bring to runtime verification to reduce impact on ...
متن کاملLet’s Look at the Logs: Low-Impact Runtime Verification
Runtime verification as a field faces several challenges. One key challenge is how to keep the overheads associated with its application low. This is especially important in real-time critical embedded applications, where memory and CPU resources are limited. Another challenge is that of devising expressive and yet user-friendly specification languages that can attract software engineers. In th...
متن کاملKoşutzamanlı Yazılım Bileşenleri için Bir Otomatik Doğrulama Çerçevesi: VyrdMC
This paper presents VyrdMC, a runtime verification framework for concurrent software components that combines structured testing, model checking, and our runtime refinement checker Vyrd. An execution-based model checker explores for each test case all distinct thread interleavings while Vyrd monitors executions for refinement violations. This combined approach has the advantage of improving the...
متن کاملCombining Monitors for Runtime System Verification
Runtime verification permits checking system properties that cannot be fully verified off-line. This is particularly true when the system includes complex third-party components, such as general-purpose operating systems and software libraries, and when the properties of interest include security and performance. The challenge is to find reliable ways to monitor these properties in realistic sy...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Theor. Comput. Sci.
دوره 336 شماره
صفحات -
تاریخ انتشار 2005